#include <iostream>

#include <qpainter.h>

#include "SymbolLine.h"

using namespace std;

LineSymbol::LineSymbol(const QBrush &br , const QPen &p, const QSize &sz, PlotModel *model)
: QwtSymbol(QwtSymbol::NoSymbol, br, p, sz), _model(model)
{
}
 
void LineSymbol::drawSymbol(QPainter *painter, const QPointF &pos) const
{
	drawSymbols(painter, &pos, 1);
}

void LineSymbol::drawSymbols(QPainter *painter, const QPointF *points, int pointsNumber) const
{
	/// ustawiam wlasciwosci paintera
	painter->save();
	painter->setBrush(brush());
	painter->setPen(pen());

	QPointF position = points[0];

	QPainterPath path;

	/// przesuwam wskaznik rysowania do punktu koncowego - rysuje od end do start (do tej funkcji wchodze tylko wtedy gdy byly dwa klikniecia na wykres)
	path.moveTo(position);

	/// pobieram globalne polozenia punktow
	const std::vector<QPointF> globalPoint  = _model->getGlobalPoint();
	

	/* //TODO : pomocnik
	std::cout <<"model punkcik " << _model->punkcik.x() << "\t" << _model->punkcik.y() << std::endl;
	qreal x = (505./143.);
	qreal y =(400./800.);
	std::cout << "wspolrzedne rysowania " << x <<"\t"<<y<< std::endl;

	std::cout << "wspolrzedne rysowania ostateczne" << x*_model->punkcik.x() <<"\t"<< y*_model->punkcik.x() << std::endl;
	*/

	///// rysuje linie przedzialu ufnosci - to jest ten moj punkt start - wspolrzedne pierwszej kropki
	path.lineTo(globalPoint[0].x(),globalPoint[0].y());	

	/// wyswietlam sciezka na painterze. on wywoluje swoj paint event?
	painter->drawPath(path);
	painter->restore();
}

